package com.vanke.devops.domain.domain.endpoints;

import com.baomidou.mybatisplus.plugins.Page;
import com.vanke.devops.dal.model.Endpoints;
import com.vanke.devops.domain.base.IBaseService;
import com.vanke.devops.domain.domain.endpoints.dto.EndpointsDTO;
import com.vanke.devops.domain.manager.aliyun.bean.Node;

import java.util.List;

/**
 * <p>
 * 节点表 服务类
 * </p>
 *
 * @author 陈景阳
 * @since 2018-03-12
 */
public interface IEndpointsService extends IBaseService<Endpoints> {
    /**
     * 详情
     * @param id ID
     * @return 详情
     */
    EndpointsDTO getInfo(Integer id);

    /**
     * 新增
     * @param entity 节点
     * @return 详情
     */
    EndpointsDTO create(Endpoints entity);

    /**
     * 更新
     * @param entity 节点
     * @return 详情
     */
    EndpointsDTO modify(Endpoints entity);

    /**
     * 分页
     * @param pageSize 分页大小
     * @param pageNo 分页页数
     * @return 列表
     */
    Page<EndpointsDTO> page(Integer pageSize,Integer pageNo);

    /**
     * 获取节点信息
     * @param id 主键
     * @return 信息
     */
    EndpointsDTO getNodeInfo(Integer id);

    /**
     * 获取节点信息
     * @param instanceId 阿里云ID
     * @return 信息
     */
    Node getNodeInfo(String instanceId);

    /**
     * 获得所有主机
     * @return 列表
     */
    List<Endpoints> getAll();

    /**
     * 删除
     * @param id 主键
     */
    @Override
    void delete(Integer id);
}
